package com.yuantu.judiciary.service;

import com.yuantu.judiciary.model.enums.UserFollowType;
import com.yuantu.judiciary.model.form.GetQueryInfoForm;
import com.yuantu.judiciary.model.vo.PageVO;
import com.yuantu.judiciary.model.vo.UserFollowDynamicVO;
import com.yuantu.judiciary.model.vo.UserFollowEnterpriseVO;
import com.yuantu.judiciary.model.vo.UserFollowPersonVO;
import org.springframework.data.domain.Pageable;

/**
 * 用户关注
 *
 * @author syw
 * @since 2023-07-27
 **/
public interface IUserFollowService {

    Boolean add(Long accountId, GetQueryInfoForm form, UserFollowType type);

    Boolean cancel(Long accountId, GetQueryInfoForm form);

    PageVO<UserFollowEnterpriseVO> getFollowEnterprisePage(Long accountId, Pageable pageable);

    PageVO<UserFollowPersonVO> getFollowPersonPage(Long accountId, Pageable pageable);

    Integer getFollowCount(Long accountId);

    PageVO<UserFollowDynamicVO> getFollowDynamic(Long accountId, Pageable pageable);

}
